
$(function () {

    // 1.模板渲染
    function getCategoryList() {
        $.get('/admin/category/list', function (res) {
            const html = template('trTpl', { list: res.data })
            $('.category_table tbody').html(html)
        })
    }
    getCategoryList()



    // 2.点击保存提交数据
    $('#myModal .btn_opt').click(function () {
        // 2.1获取表单里面的值
        const name = $("input[name = 'name']").val().trim()
        const slug = $("input[name = 'slug']").val().trim()
        // console.log(name, slug);

        // 2.2判断不能填空
        if (!name || !slug) {
            // 2.3填空提示
            layer.alert('分类名和分类别名不能为空')
            //填空就不能继续执行
            return
        }

        // 3.提交
        $.post('/admin/category/add', { name, slug }, function (res) {
            // console.log(res);
            // 3.1提交后关闭模态板
            $('#myModal').modal('hide')
            // 3.2关闭后不显示保存在input上面的数据
            $("input[name = 'name']").val('')
            $("input[name = 'slug']").val('')
            // 3.3刷新页面
            getCategoryList()
        })
    })


    // 4.编辑按钮
    $('.category_table').on('click', '.edit', function () {
        // 4.1获取到这行数据
        const obj = $(this).parents('tr').data('obj')
        //4.2渲染到静态模板
        $('#name').val(obj.name)
        $('#slug').val(obj.slug)
        // 4.3获取id
        id = obj.id
        // console.log(id);
    })


    // 5.编辑保存按钮
    $('#editModal .btn_opt').click(function () {
        // 5.1获取数据
        const name = $('#name').val().trim()
        const slug = $('#slug').val().trim()
        // console.log(name, slug);
        // 5.2提交post 后台数据
        $.post('/admin/category/edit', { id, name, slug }, function (res) {
            // 5.3提交后关闭
            $('#editModal').modal('hide')
        // 5.4关闭后刷新
        getCategoryList()
        })
        
    })

    // 6.删除按钮 委托事件
    $('.category_table').on('click', '.delete', function () {
        // 6.1提示弹框是否要删除
        layer.confirm('您要删除吗', (index) => {
            // 6.2获取要删除的id
            const { id } = $(this).parents('tr').data('obj')
            console.log(id);
            // 6.3发送要删除的数据到后台
            $.post('/admin/category/delete', { id }, function () {
                // 6.4刷新页面
                getCategoryList()
                // 6.4删除后关闭弹窗
                layer.close(index)
            })
        })
    })

})
